Output devices for imaging systems, such as display monitors and printers, typically represent colors within the context of a device color space. A color space reflects the particular characteristics of the manner in which a device produces a color image. Generally, monitors which employ cathode ray tubes define color in an RGB (red-green-blue) color space, since they generate color images by means of electron guns which excite red, blue and green phosphors. In contrast, color printers define colors in terms of a CMY (cyan-magenta-yellow) color space, since they generate color images by means of cyan, magenta and yellow inks or toners. A color which is specified in a particular color space is made up of individual components characteristic of that color space. Thus, for example, a color in the RGB color space is comprised of red, green and blue components, whereas a color in the CMY color space comprises cyan, magenta and yellow components. In each of these color spaces, achromatic data, i.e. black, white and shades of gray, are represented by equal amounts of each component. For example, white might be represented by 100% saturation of each of the red, green and blue components in the RGB color space, whereas 50% gray is made up of 50% red saturation, 50% green saturation and 50% blue saturation. The percentage of saturation represents the intensity with which a component is displayed on a medium, such as the density of ink on a paper or the degree of excitation provided by an electron gun.
Printers and monitors operate as raster devices, whose output images comprise a two-dimensional grid of picture elements, or pixels. To generate an image on a screen or a page, these devices store a representation in memory of a display value for each pixel in the image. This stored representation of the image is referred to as a "pixel map" (sometimes abbreviated as "pixmap"), or a "frame buffer". The display value for each pixel comprises multiple components, e.g. red, green and blue components for an RGB monitor. To display a 50% gray square, for example, the display values for each of the pixels covered by the square indicate a 50% intensity for each of the three components.
In the operation of an exemplary imaging system, a user might be running a graphics application program on a computer. The user can instruct the program to draw an object, such as a square, at a particular location on the screen of the display monitor. The user might also designate that the square be filled with a certain color, such as 50% gray. In response to these user inputs, the graphics program issues high-level instructions to the computer's operating system to draw a 50% gray square. A display manager, or similar such portion of the computer's operating system for controlling the operation of the display monitor, interprets the command to draw a 50% gray square into low-level instructions for the display monitor. As part of this interpretation process, the high level description of the gray square from the application program is translated into individual pixel display values that are stored in the frame buffer.
This process of converting the high level graphical data into pixel values is known as rendering. In a device which employs a three-dimensional color space, such as RGB or CMY, the frame buffer is comprised of three sections, e.g., planes, which respectively relate to the three components. For each pixel of an image, the rendering process involves the steps of determining the display value for one of the components, e.g. the red component, storing that value at an appropriate location in the corresponding section of the frame buffer, and repeating these steps for each of the other two components. In other words, each of the three color space components is individually rendered for each pixel.
In the past, various approaches have been employed to increase the efficiency with which achromatic images e.g., black and white images, are rendered and displayed. For example, some printers use a CMYK (cyan-magenta-yellow-black) color representation, in which a black component is maintained separately from the other three color components. This approach has been employed for two main reasons. First, the composite color resulting from a combination of cyan, magenta and yellow inks rarely results in a good quality of black. Secondly, since much of the data on a printed page is black, for example text and line art, less ink and less rendering is required to print the image. This is due to the fact that in a CMYK color representation, black text and line art only needs to be rendered in a single plane, namely the black plane.
Not all printers are designed to operate with a CMYK color representation, however, and therefore cannot employ this approach. Similarly, other output devices which do not have a separate black component, such as display monitors, likewise cannot operate in this fashion. For these types of color output devices, another approach that has been employed in the past is to selectively configure them as monochrome devices. In such a mode of operation, only a single component of the color space is employed, to represent shades of gray from white to black. A smaller frame buffer can be used, and only one component of the color space needs to be rendered. This approach has two appreciable disadvantages, however. First, it requires explicit intervention by the user. Secondly, when configured for monochrome operation, the device is incapable of generating a chromatic image.